How Localytics ingests and processes data

All data in the Localytics dashboard comes from a user’s device. This data goes through our sophisticated data-processing pipeline. Understanding how data transmission and processing work helps you interpret your data.

Localytics is added to your app to collect data when certain events take place. The Localytics SDK automatically detects session start and session close. In addition, your developers can insert event tags to make Localytics aware of custom behaviors in your app.

Initially, these records are stored locally on the user’s device. The device then periodically uploads data to Localytics. For each of these, Localytics creates a time-stamped record.

If your app uses the default setup, Localytics includes automatic instructions to upload data at the end of every session. If your app includes custom setup, your developers are responsible for inserting upload commands to instruct Localytics when to transmit the data to our servers.

Once data is transmitted, it proceeds through our data processing pipeline. You’ll see the data in the Localytics dashboard within about 10 minutes—sometimes less.

Offline devices

It’s important to note that data processing is different if the device is functioning offline. This is also going to be the case if the device can’t complete upload due to idiosyncratic conditions like network speed or the user force-closing the app.

The Localytics SDK tracks offline behavior and stores records locally on the device, then uploads the data at the next available opportunity (generally the next time the user opens the app while connected).

Each tracked behavior is timestamped according to the time when it originally occurred—not when the data was uploaded. This means that you may observe historical counts increase slightly as offline-generated data is received.